home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / btsys.arc / BTPLACE.C < prev    next >
Text File  |  1984-12-14  |  780b  |  39 lines

  1. /*    btplace        */
  2. #include <stdio.h>
  3. #include <btextern.h>
  4. int btplace (filhand, key)
  5. int filhand;
  6. char *key;
  7.  
  8. {
  9.     int i,j,k,occurs,node,klength;
  10.     char *cp;
  11.  
  12. /*    clear stack        */
  13. clear ();
  14.  
  15. /*    initialize keylength    */
  16. klength = btfilar[filhand].keylen;
  17. occurs = (LBLEN - 1) / (klength + 3);
  18. node = btfilar[filhand].root;
  19. cp = (char *)btfilar[filhand].filbuf + (LBLEN - 1);
  20.  
  21. do    {
  22.     ip1 = btfilar[filhand].filbuf;
  23.     cp1 = btfilar[filhand].ikeyptr;
  24.     j = 0;
  25.     if ((i = btread (filhand, node)))
  26.         BTSETCOD (filhand, node, i);
  27.     while ((i = strcmp (cp1, "")) != 0
  28.         && (k = strcmp (cp1, key)) == -1)
  29.         {
  30.         j++;
  31.         cp1 += (klength + 1);
  32.         };
  33.     push (node);
  34.     push (j);
  35.     node = ip1[j];
  36. } while ((node != NULL) && (*cp != 'Y'));
  37. return (0);
  38. }    /* end of btplace    */
  39.